home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Graphics / nxyplot / Source / PlotView.h < prev    next >
Text File  |  1993-09-22  |  5KB  |  141 lines

  1.  
  2. /* Generated by Interface Builder */
  3.  
  4. #import <appkit/View.h>
  5. #import <appkit/Application.h>
  6. #import <appkit/PrintInfo.h>
  7. #import <dpsclient/wraps.h>
  8. #import <appkit/Font.h>
  9. #import <appkit/FontManager.h>
  10. #import <appkit/publicWraps.h>  /* for NXBeep */
  11. #import <appkit/drag.h>
  12.  
  13. @interface PlotView:View
  14. {
  15.   id     plotParam;
  16.   id     theFontManager;
  17.   id     newLegendFont;
  18.   id     newLegendTitleFont;
  19.   id     newXTitleFont;
  20.   id     newYTitleFont;
  21.   id     newMainTitleFont;
  22.   id     newTicLabelFont;
  23.   id     handFormatXaxis;
  24.   id     handFormatYaxis;
  25.   id     xFormatLeft;
  26.   id     xFormatRight;
  27.   id     xFormatExponent;
  28.   id     yFormatLeft;
  29.   id     yFormatRight;
  30.   id     yFormatExponent;
  31.   id     printPanelAccessory;    /* the accessory view for the print panel */
  32.   id     ticMarkLocation;    /* button over the tic mark location popup list */
  33.   id     ticMarkLengthText;    /* the tic mark length text field */
  34.   id     ticMarkThicknessText;    /* the tic mark thickness text field */
  35.   id     borderBoxThicknessText;/* the border box thickness text field */
  36.   id     gridThicknessText;    /* the grid thickness text field */
  37.   id     frameBoxThicknessText;    /* the frame box thickness text field */
  38.   id     axisThicknessText;    /* the axis thickness text field */
  39.   id     lineThicknessText;    /* the line thickness text field */
  40.   id     symbolSizeText;    /* the symbol size text field */
  41.   id     zoomChoice;        /* button over the zoom/move popup list */
  42.   id     majorTicMarksOnOff;    /* major tic marks on/off button */
  43.   id     minorTicMarksOnOff;    /* minor tic marks on/off button */
  44.   id     axesOnOff;        /* axes on/off button */
  45.   id     borderBoxOnOff;    /* border box on/off button */
  46.   id     frameBoxOnOff;        /* frame box on/off button */
  47.   id     gridOnOff;        /* grid on/off button */
  48.   id     gridDotted;        /* grid dotted/solid button */
  49.   id     legendBoxOnOff;    /* legend box on/off button */
  50.   id     legendOnOff;        /* legend on/off button */
  51.   id     titles;        /* x, y, and main titles */
  52.   id     legendTitle;        /* legend title form */
  53.   id     legendForm;        /* for the curve titles */
  54.   id     errorBarBaseWidth;    /* the error bar base width text field */
  55.   id     errorBarMatrix;    /* the error bar matrix */
  56.   id     legendOpaque;        /* the "Opaque" button on the legend panel */
  57.   id     opaqueBackgroundButton;/* the background button on the preferences panel */
  58.   id     accPrintColorButton;    /* the color/bw button on the print accessories panel */
  59.  
  60.   float  ppxunit, ppyunit;    /* pixels per xunit, pixels per y unit */
  61.   float  xlegend[2], **ylegend;    /* for legend drawing (fixed dimension here) */
  62.   BOOL   drawingLegendLines;
  63.   BOOL   drawingLegendSymbols;
  64.   NXRect legendbox;
  65.   NXRect xtitlebox, ytitlebox, maintitlebox;
  66.   NXRect oldbounds;
  67. }
  68.  
  69. - initFrame:(const NXRect *)frameRect;
  70. - clear:sender;
  71. - startPlot;
  72. - setDrawColor:(float) color;
  73. - drawLines:sender :(BOOL)xaxislog :(BOOL)yaxislog;
  74. - drawSymbols:sender :(BOOL)xaxislog :(BOOL)yaxislog;
  75. - drawErrorBars :(BOOL)xaxislog :(BOOL)yaxislog;
  76. - drawLegend:sender;
  77. - drawTicMarks:(float)xmin :(float)xmax :(float)ymin :(float)ymax;
  78. - startLegend;
  79. - doPrinting:sender;
  80. - (NXCoord *)xdata:(int)n;    /* provide data for drawing the curves */
  81. - (NXCoord **)ydata:(int)n;    /* and symbols in the legend box       */
  82. - (int)nPoints:(int)n;        /* provide no. of points to use in legend drawing */
  83. - (int)nCurves:(int)n;
  84. - (int)nFiles;
  85.  
  86. - (BOOL)has_ebars:(int)n;
  87.  
  88. - provideMainTitleFont;
  89. - provideXTitleFont;
  90. - provideYTitleFont;
  91. - provideLegendFont;
  92. - provideLegendTitleFont;
  93. - provideTicLabelFont;
  94. - (NXPoint) provideLegendBoxOrigin;
  95. - forceLegendBoxOrigin: (NXPoint)point;
  96. - (NXPoint) provideXTitleBoxOrigin;
  97. - forceXTitleBoxOrigin: (NXPoint)point;
  98. - (NXPoint) provideYTitleBoxOrigin;
  99. - forceYTitleBoxOrigin: (NXPoint)point;
  100. - (NXPoint) provideMainTitleBoxOrigin;
  101. - forceMainTitleBoxOrigin: (NXPoint)point;
  102.  
  103. - provideWindowFrame:(NXRect *)windowframe;
  104. - forceWindowFrame:(NXRect *)windowframe;
  105.  
  106. - forceMainTitleFont:(char *)fontname :(float)fontsize;
  107. - forceXTitleFont:(char *)fontname :(float)fontsize;
  108. - forceYTitleFont:(char *)fontname :(float)fontsize;
  109. - forceLegendFont:(char *)fontname :(float)fontsize;
  110. - forceLegendTitleFont:(char *)fontname :(float)fontsize;
  111. - forceTicLabelFont:(char *)fontname :(float)fontsize;
  112.  
  113. // Any subclass of View needs to implement its own drawSelf method
  114. - drawSelf: (const NXRect *)rects :(int)rectCount;
  115.  
  116. /*
  117.  * We implement the mouseDown method to allow zooming and also to allow
  118.  * moving the legend box.  We lean heavily on the code in the
  119.  * /NextDeveloper/Examples/Mandelbrot directory.
  120.  */
  121. - mouseDown:(NXEvent *)e;
  122.  
  123. - saveEPS:sender;
  124.  
  125. - savePSCode:(char *)aFile;
  126.  
  127. - copyPScode:sender;
  128.  
  129. @end
  130.  
  131. /* Dragging */
  132.  
  133. //extern BOOL IncludesType(const NXAtom *types, NXAtom type);
  134.  
  135. @interface PlotView(Drag)
  136.  
  137. - (NXDragOperation)draggingEntered:(id <NXDraggingInfo>)sender;
  138. - (BOOL)performDragOperation:(id <NXDraggingInfo>)sender;
  139.  
  140. @end
  141.